home *** CD-ROM | disk | FTP | other *** search
/ Hackers Underworld 2: Forbidden Knowledge / Hackers Underworld 2: Forbidden Knowledge.iso / HACKING / CRACKIST.TXT < prev    next >
Text File  |  1994-07-17  |  63KB  |  1,698 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.      VOL 1                                                   NUM 1
  10.                                    
  11.  
  12.  
  13.                                    
  14.                      The Amatuer Crackist Tutorial
  15.                               Version 1.3
  16.                                   By
  17.                             Specular Vision
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                           Special Thanks to:
  24.                             Mr. Transistor
  25.                                 Ironman
  26.                            The Grand Elusion
  27.                             Banzai Buckaroo
  28.                                    
  29.  
  30.  
  31.  
  32.                       Another fine PTL Production
  33.                         Call The Myth Inc. BBS
  34.      Table of Contents:
  35.      ------------------       (Page  Numbers will be aprox.  until
  36.                                   final version is finished)
  37.           i.        Table of Contents                         2
  38.  
  39.           ii.       Introduction                              3
  40.  
  41.           I.        How to Crack                              4
  42.                       Debugging DOS                           4
  43.                       Cracking on the IBM PC Part 1           7
  44.                       Cracking on the IBM PC Part 2          11
  45.  
  46.           II.       Example Cracks                           14
  47.                       Mean-18 by Accolade                    14
  48.                       Submarine by Eypx                      18
  49.                       Space Station Oblivion by Eypx         22
  50.  
  51.           III.      Removing Doc Check Questions             23
  52.                       F-15 Strike Eagle by MicroProse        23
  53.                       Battlehawks 1945 by Lucasfilms         25
  54.                       Yeager's AFT by Electronic Arts        26
  55.  
  56.           IV.       Cracking Self Booters                    27
  57.                       Disk Basics
  58.                       Victory Road by Data East              27
  59.                       MS-Flight Simulator (Ver 2.x)          30
  60.  
  61.           V.        Creating Title Screens                   33
  62.  
  63.           VI.       Appendix                                 35
  64.                       A - Interrupt Tables                   36
  65.                           (This will be an add-on file)
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.                                    2
  90.      Introduction:
  91.      -------------
  92.  
  93.      Due to the current lack of Crackers, and also keeping in mind
  94.      the  time it took me to learn the basics of cracking,  I  de-
  95.      cided  to put this tutorial together.   I will  include  many
  96.      files which I have found helpful in my many cracking  endeav-
  97.      ors.   It also has comments that I have included to  make  it
  98.      easier to understand.
  99.  
  100.  
  101.  
  102.      Comments Key:
  103.      -------------
  104.  
  105.      Comments in the following material will be made by one of the
  106.      following  and the lines that enclose the comments  show  who
  107.      made the comment.
  108.  
  109.      Specular Vision = -------------
  110.      Mr. Transistor  = +++++++++++++
  111.      Ironman         = |||||||||||||
  112.  
  113.  
  114.      Special thanks to Mr.  Transistor, for coming out of "Retire-
  115.      ment" to help compose this document.
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.                                    3
  145.      Chapter I                                        How to Crack
  146.  
  147.  
  148.      -------------------------------------------------------------
  149.      Let's start with a simple introduction to patching a  program
  150.      using the DOS DEBUG program.  The following article will  in-
  151.      troduce you to the basic ideas and concepts of looking for  a
  152.      certain area of a program and making a patch to it.
  153.      -------------------------------------------------------------
  154.  
  155.  
  156.      By:            Charles Petzold / Specular Vision
  157.      Title:         Case Study: A Colorful CLS
  158.  
  159.        This article originally appeared in the Oct.  14,1986 Issue
  160.      of PC Magazine (Vol 15. Num 17.). Written by Charles Petzold.
  161.  
  162.        The hardest part of patching existing programs is determin-
  163.      ing  where the patch should go.  You really have to  make  an
  164.      intelligent guess about the functioning of the program.
  165.  
  166.        As an example,  let's attempt to modify COMMAND.COM so that
  167.      is colors the screen on a CLS command.   As with any type  of
  168.      patch try it out on a copy and NOT the original.
  169.  
  170.        First, think about what we should look for.  CLS is differ-
  171.      ent from all the other DOS internal Commands,  It is the only
  172.      internal command that does something to the screen other than
  173.      just write to it with simple teletype output.  CLS blanks the
  174.      screen and homes the cursor.   Since it can't do this through
  175.      DOS Calls (unless ANSI.SYS is loaded), it is probably calling
  176.      the BIOS Directly.   The BIOS Interrupt 10h call controls the
  177.      video,  and so the CLS command probably uses several INT  10h
  178.      instructions.  The machine code for INT 10h is CD 10.
  179.  
  180.        (While  this  same method will work under  any  version  of
  181.      PC-DOS,  Version 2.0 and later, the addresses I'll  be  using
  182.      are from PC-DOS 3.1. Other versions of PC-DOS(or MS-DOS) will
  183.      have  different addresses;  you should be absolutely  certain
  184.      that you're using the correct addresses.)
  185.  
  186.        Load COMMAND.COM into DEBUG:
  187.  
  188.                     DEBUG COMMAND.COM
  189.  
  190.      and do an R (Registers) command.  The size of COMMAND.COM  is
  191.      in  register CX.   For DOS 3.1's COMMAND.COM,  this value  is
  192.      5AAA.
  193.  
  194.        Now do Search command to look for the CD 10 bytes:
  195.  
  196.                     S 100 L 5AAA CD 10
  197.  
  198.      You'll get a list of six addresses, all clustered close to-
  199.  
  200.                                    4
  201.      gether.  The first one is 261D. You can now pick an address a
  202.      little before that (to see what the first call is doing)  and
  203.      start disassembling:
  204.  
  205.                     U 261B
  206.  
  207.       The  first INT 10 has AH set to 0F which is a Current  Video
  208.      State  call.   The code checks if the returned  value  of  AL
  209.      (Which  is  the  video mode) is less than 3 or  equal  to  7. 
  210.      These are the text modes.   If so,  it branches to 262C.   If
  211.      not, it just resets the video mode with another INT 10 at ad-
  212.      dress 2629.
  213.  
  214.        At 262C,  the code first sets the border black (the INT  10
  215.      at  2630),  then does another Current Video  State  call  (at
  216.      2634) to get the screen width in register AH.  It uses infor-
  217.      mation from this call to set DX equal to the bottom right row
  218.      and column.   It then clears the screen by scrolling the  en-
  219.      tire screen up with another INT 10 (at 2645),  and then  sets
  220.      the cursor to the zeroth row and zeroth column with the final
  221.      INT 10 (at 264D).
  222.  
  223.        When it scrolls the whole screen, the zero value in AL  ac-
  224.      tually  means blank the screen,  the value of BH is  the  at-
  225.      tribute  to be used on the blanked area.   In  an  unmodified
  226.      COMMAND.COM,  BH is set to 7 (Which is white on black) by the
  227.      following statement at address 2640:
  228.  
  229.                     MOV  BX,0700
  230.  
  231.        If  you  prefer a yellow-on-blue attribute  (1E),  you  can
  232.      change this line by going into Assemble mode by entering:
  233.  
  234.                     A
  235.  
  236.      then entering
  237.  
  238.                     MOV  BX,1E00
  239.  
  240.      and exiting Assemble mode by entering a blank line.
  241.  
  242.        Now you can save the modified file:
  243.  
  244.                     W
  245.  
  246.      and quit DEBUG:
  247.  
  248.                     Q
  249.  
  250.        When  you load the new version of COMMAND.COM (and you  can
  251.      do so without rebooting by just entering:
  252.  
  253.                     COMMAND
  254.  
  255.  
  256.                                    5
  257.      on  the DOS command level),  a CLS will turn the screen  blue
  258.      and display characters as yellow.
  259.  
  260.        If it doesn't or if anything you type shows up as white  on
  261.      black,  that probably means you have ANSI.SYS loaded.  If you
  262.      use ANSI.SYS,  you don't have to make this patch but can  in-
  263.      stead use the prompt command for coloring the screen.
  264.  
  265.      END.
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.